/*
 * @(#)cn.design.pattern.state 2020/4/27/0027
 *
 * Copy Right@ 人人译视界
 */


package cn.design.pattern.state;

import java.util.Random;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/27/0027
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
// 不能抽奖的情况下
public class CanRaffleState extends State {

	RaffleActivity activity;

	public CanRaffleState(RaffleActivity activity) {
		this.activity = activity;
	}

	@Override
	public void deduceMoney() {
		System.out.println("已经扣取过积分");
	}

	@Override
	public boolean raffle() {
		System.out.println("正在抽奖，请稍等！");
		Random r = new Random();
		int num = r.nextInt(10);
		if (num == 0) {
			activity.setState(activity.getDispenseState());
			return true;
		}
		else {
			System.out.println("很遗憾没有抽中奖品");
			activity.setState(activity.getNoRaffleState());
			return false;
		}
	}

	@Override
	public void dispensePrize() {
		System.out.println("没中奖，不能发放奖品");
	}
}
